Cosmos SDK(Gas)
gsaが存在する理由はEthereumと同じく、以下の2点
ブロックが過剰にリソースを消費していないことを確認し、ファイナライズされるため。
エンドユーザーからのスパムや不正使用を防ぐため。
この目的のために、メッセージ実行時に消費されるガスには通常、価格が設定されており、結果として料金が発生します
fee = gas * gas-prices
Cosmos SDKのデフォルトでは、メインガスメーターとブロックガスメーターの2種類のガスメーターを使用します。
メインガスメーター
よくわかってない
ブロックガスメーター
ブロックごとのガス消費量を追跡し、一定の制限値を超えないようにするためのガスメーターです。
ブロックごとのガスの上限はアプリケーションのコンセンサス・パラメータで定義されます
anteHandler
CheckTx中に、トランザクションで提供されたガス価格がローカルのmin-gas-pricesよりも大きいことを確認する(
anteHandlerはGasWantedと呼ばれる、トランザクションが実行中に消費できるガスの最大限度を返します。